package server;

import Client.Customer;
import Database.Client;
import Database.ClientFacade;
import Database.Insurance;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.rmi.*;
import java.util.ArrayList;
import java.util.Collection;


/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author 김기민
 * *
 */

public interface Server_Client_Interface extends Remote {
    
    ClientFacade clientfacade = new ClientFacade();
    
    public boolean login(String insurunce_id, String password) throws RemoteException; //parameter에 id와 password가 db에서 일치하면 true return
    public boolean sign_up(Customer c) throws RemoteException; // signup시 정보를 넘겨줌, 잘받았으면 true return
    public boolean id_duplicate_check(String insurunce_id) throws RemoteException; //parameter에 아이디가 db에 있으면 false를 retrun 없으면 true를 return
    public ArrayList<String> toString_private_insurunce(Customer currentcustomer)  throws RemoteException; // 아이디에 해당하는 보험정보, 보험료(나이로 계산) , 만약 보험가입이 안되있을시  null return??
    public ArrayList<String> toString_Insurunce_information()  throws RemoteException;  // insurunce 전체정보를
    public boolean join(String id, int insurunce_Type) throws RemoteException;// 보험가압이 안되있으면 parameter에 insurunce_type으로 입력을해주고, 되있으면 변경해준다.
    public double rate_depends_on_age(Customer c)  throws RemoteException;       
    
    public boolean runExternalAPI() throws RemoteException;
     
}
